草庐IT

C++ bool 运算符==

全部标签

c# - bool 值是什么?返回类型是什么意思?

我看到一个方法返回bool?,有谁知道它的意思吗? 最佳答案 T?是Nullable的C#语法快捷方式.所以bool?映射到Nullable.所以在你的情况下,它是一个结构,要么是null,或者有一个bool值(value)。如果Nullable是null这与引用类型为null有点不同。它基本上是一个包含基础类型和bool标志HasValue的结构。.但是运行时和C#语言都有一点魔法来假装Nullable与HasValue==false真的是空的。但差异有时仍然会泄漏。基础类型可隐式转换为可空类型(bool->bool?)。要从可空

c# - 如何在C#中使用三元运算符

intnumber=5;当数等于5时,写真当数不等于5时,写false如何使用C#在ASP.NET中为此编写语句? 最佳答案 intfive=5;stringanswer=five==5?"true":"false";我看到您想使用它在ASP.NET中写出值,answer字符串将包含您想要的值,请随意使用。 关于c#-如何在C#中使用三元运算符,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/ques

c# - C# 中的合并运算符?

我想我记得看到过类似?:ternaryoperator的东西在C#中,它只有两个部分,如果它不为null则返回变量值,如果为null则返回默认值。像这样:tb_MyTextBox.Text=o.Member??SOMEOPERATORHERE??"default";基本上等价于此:tb_MyTextBox.Text=o.Member!=null?o.Member:"default";这样的事情是否存在,或者我只是想象在某处看到了它? 最佳答案 是的:tb_myTextBox.Text=o.Member??"default";http

c# - Linq 查询 'and' 'or' 运算符

我已经用“or”条件和“and”编写了一个LINQ查询,但效果不佳。fromxindb.fotoes.Where(x=>x.uid==NewsId&&x.ukat=='fukat1'||x.ukat=='fukat2')我不明白为什么它不起作用,有人可以帮我解决这个问题吗? 最佳答案 就这样试试吧,你需要用括号来对你的条件进行分组:fromxindb.fotoes.Where(x=>x.uid==NewsId&&(x.ukat=='fukat1'||x.ukat=='fukat2'))

c# - 为什么我必须定义一个交换运算符两次?

我想知道我是否必须定义一个交换运算符(如*)两次!publicstaticMyClassoperator*(inti,MyClassm){returnnewMyClass(i*m.Value);}publicstaticMyClassoperator*(MyClassm,inti){returnnewMyClass(m.Value*i);}这背后的逻辑是什么?附加说明:亲爱的@Marc关于向量和矩阵乘法的回答很好当且仅当我们假设操作数类型不同时!!!很明显,我们只能定义一次*运算符来执行向量或矩阵乘法。所以我认为这不是答案。@Marc:Orderissometimesimportant

c# - 将可为空的 bool 转换为 bool

我有一个对象AlternateName.IsMaidenName我想将它转换到一个复选框-IsMaidenName它不会让我强制转换,因为它说无法将可为null的源类型转换为目标类型bool。我在我们的应用程序的其他地方遇到过这个问题,但我想把它扔掉,以便更好地处理这些问题。IsMaidenNameChecked=AlternateName.IsMaidenName; 最佳答案 您不能将可为空的bool值转换为bool值是合乎逻辑的,因为当可为空值包含null时,bool值应该具有什么值?我会做的,是这样的:IsMaidenName

c# - 不同情况下呈现的 bool 字段

对于任何有想法的人来说,这有点奇怪……我正在特定页面上渲染一个隐藏的bool字段。但是,根据特定事件是否在流程之前发生,我会为同一字段获得两个略有不同的标记。正在生成的两个字段是;和问题是“value”属性中的文本的情况,您会注意到它是不同的,并且稍后会影响JS条件。生成这个的Razor标记是;@Html.Hidden("HasPreviouslyIssuedCard",Model.HasPreviouslyIssuedCard?.ToString(),new{id=nameof(Model.HasPreviouslyIssuedCard)})但是,我也尝试了使用以下内容的变体,在渲染

c# - EF - 无法将运算符 '==' 应用于类型为 'TId' 和 'TId' 的操作数

我有这个通用类,它使用EntityFramework6.x。publicclassGenericRepositorywhereTEntity,class,IIdentifyable{publicvirtualTEntityGetById(TIdid){using(varcontext=newDbContext()){vardbSet=context.Set();varcurrentItem=dbSet.FirstOrDefault(x=>x.Id==id);returncurrentItem;}}publicvirtualboolExists(TIdid){using(varconte

c# - 使用常量进行算术运算时出现溢出错误

我尝试了以下代码:intx,y;x=y=int.MaxValue;intresult=x+y;此代码工作正常,结果将包含-2(我知道为什么)。但是这样做的时候:constintx=int.MaxValue;constinty=int.MaxValue;intresult=x+y;由于溢出问题,这将无法编译。为什么? 最佳答案 因为x和y都是编译时常量,所以x+y也是。编译器知道结果会溢出,所以它会提示。您可以使用unchecked表达式来解决这个问题:intresult=unchecked(x+y);来自C#5规范的第7.6.12节

c# - 锁定对 bool 的访问是必需的还是 Overkill

我有一个主要设计为POCO类的类,有各种线程和任务可以读取它的值,只有其他人只是偶尔更新这些值。这似乎是ReaderWriterLockSlim的理想方案。问题是,在类中,如果需要线程安全的属性,如果属性是bool,是不是有点大材小用了?如果它是一个int会怎样?日期时间?publicclassMyClass{privatebool_theValue=false;privateReaderWriterLockSlim_theValueLock=newReaderWriterLockSlim();publicboolTheValue{get{boolreturnVal=false;try